package com.cy.pj.notice.dao;

import com.cy.pj.notice.pojo.SysNotice;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

//
@Mapper
public interface SysNoticeDao  {
    /**
     *基于条件查询公告信息
     * @param notice 用于封装查询参数
     * @return 基于查询条件查询结果
     */

    List <SysNotice>selectNotices(SysNotice notice);

    /**
     * 基于ID删除公告信息
     * @param id
     * @return 删除了几行
     */
    int deleteById(Long... id );

    /**
     * 持久化notice对象数据
     * @param notice(封装了要写入的数据)
     * @return 返回写入的行数
     */
    int insertNotice (SysNotice notice);

    /**
     * 基于id查询notice对象
     * @param id 公告的唯一标识id
     * @return 基于ID查询到的结果
     * 建议简单sql映射语句直接写到接口方法上 复杂sql写到映射文件
     */
    @Select("select * from sys_notices where id=#{id}")
    SysNotice findById(Long id);

    /**
     * 持久化notice对象数据
     * @param notice(封装了要更新的数据)
     * @return 返回更新的行数
     */
    int updateNotice(SysNotice notice);

}
